package cn.iocoder.yudao.module.train.controller.admin.coursecancel.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 课程消课记录 Response VO")
@Data
@ExcelIgnoreUnannotated
public class CourseCancelRespVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29358")
    @ExcelProperty("主键ID")
    private Integer id;

    @Schema(description = "学生ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12403")
    @ExcelProperty("学生ID")
    private Long studentId;

    @Schema(description = "课程商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19021")
    @ExcelProperty("课程商品ID")
    private Long commodityId;

    @Schema(description = "班级ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22628")
    @ExcelProperty("班级ID")
    private Long classesId;

    @Schema(description = "消课时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("消课时间")
    private LocalDateTime cancelTime;

    @Schema(description = "消课时长", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("消课时长")
    private Integer teachingTime;

    @Schema(description = "剩余时长", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("剩余时长")
    private Integer restDuration;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;


    @Schema(description = "学生姓名")
    @JsonProperty("studentName")
    @ExcelProperty("学生姓名")
    private String studentName;

    @Schema(description = "课程名称")
    @JsonProperty("courseName")
    @ExcelProperty("课程名称")
    private String courseName;

    @Schema(description = "课程商品名称")
    @JsonProperty("commodityName")
    @ExcelProperty("课程商品名称")
    private String commodityName;

    @Schema(description = "老师姓名")
    @JsonProperty("teacherName")
    @ExcelProperty("老师姓名")
    private String teacherName;

    @Schema(description = "班级名称")
    @JsonProperty("classNumber")
    @ExcelProperty("班级名称")
    private String classNumber;

}
